#include <stdio.h>

int main(void)
{
    // %5d表示这个占位符的宽度至少为5位。如果不满5位，对应的值的前面会添加空格
    printf("%5d\n", 123); // 输出为 "  123"
    // %-5d表示这个占位符的宽度至少为5位。如果不满5位，对应的值的后面会添加空格
    printf("%-5d\n", 123); // 输出为 "123  "
    // %12f表示输出的浮点数最少要占据12位。由于小数的默认显示精度是小数点后6位，所以123.45输出结果的头部会添加2个空格
    printf("%12f\n", 123.45);
    // printf()不对正数显示+号，只对负数显示-号。如果想让正数也输出+号，可以在占位符的%后面加一个+
    printf("%+d\n", 12);  // 输出 +12
    printf("%+d\n", -12); // 输出 -12
    // 希望小数点后面只保留两位，占位符可以写成%.2f。
    printf("Number is %.2f\n", 0.5);
    // %s占位符用来输出字符串，默认是全部输出。如果只想输出开头的部分，可以用%.[m]s指定输出的长度，其中[m]代表一个数字，表示所要输出的长度
    printf("%.5s\n", "hello world");
    return 0;
}